package com.itlong.cloud.sdk.service;


import com.itlong.cloud.POJO.VO.sdk.old.SDKAppOldUserBasicsInfoVO;
import com.itlong.cloud.POJO.VO.sdk.old.SDKAppOldUserInfoCacheVO;

import java.util.List;

/**
* <desc>
*    APP SDK人员服务层接口.
* </desc>
*
* @createDate 2017-11-08
*/
public interface ISDKAppOldUserService {

    /**
     * <desc>
     *    从缓存中获取SDK登录用户的信息.
     * </desc>
     *
     * @param appid 应用接入凭证
     *@param phoneNo 用户手机号
     * @return 手机APP SDK用户数据传输对象
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    SDKAppOldUserInfoCacheVO getSDKAppCacheUser(String appid, String phoneNo);


    /**
     * <desc>
     *    保存SDK登录的用户信息到缓存.
     * </desc>
     *
     * @param sdkAppUserVO 手机APP SDK用户数据传输对象
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    void saveSDKAppCacheUser(SDKAppOldUserInfoCacheVO sdkAppUserVO);


    /**
     * <desc>
     *    从数据库中获取SDK登录用户的信息.
     * </desc>
     *
     *@param phoneNo 用户手机号
     * @return 手机APP SDK用户数据传输对象
     * @author LewisLouis
     * @createDate 2017-11-08
     */
    SDKAppOldUserBasicsInfoVO getSDKAppUserBasicInfo(String phoneNo);


    /**
    * <desc>
    *    根据手机号和应用接入凭证，查找对应的项目信息.
    * </desc>
    *
    * @param phoneNo 手机号
     *@param appId 应用接入凭证
    * @return xx
    * @author LewisLouis
    * @createDate 2017-11-14
    */
    List<String> getProjectInfos(String phoneNo, String appId);


    /**
     * <desc>
     *    获取指定用户的所在房间的其中一个业主的电话号码
     * </desc>
     *
     * @param userId
     * @return 业主电话号码
     * @author LewisLouis
     * @createDate 2017-11-15
     */
    String getOneParentPhoneNoByUserId(String userId);


    /**
     * <desc>
     *    获取用户指定项目中的一卡通软卡号（系统编号）
     * </desc>
     *
     * @param userId 用户Id
     * @param projectId 项目Id
     * @return 一卡通软卡号（系统编号）.
     * @author LewisLouis
     * @createDate 2017-11-16
     */
    String getUserCardNo(String userId,String projectId);


}
